Setup and load libraries

library(osmdata)
library(opentripplanner)
library(tidyverse)
library(sf)
library(ggthemes)
library(ggspatial)

Load locations

Load public schools in Boston

BOS_schools <- st_read(
  "http://bostonopendata-boston.opendata.arcgis.com/datasets/1d9509a8b2fd485d9ad471ba2fdb1f90_0.kml?outSR=%7B%22latestWkid%22%3A2249%2C%22wkid%22%3A102686%7D") 
## Reading layer `Public_Schools' from data source `http://bostonopendata-boston.opendata.arcgis.com/datasets/1d9509a8b2fd485d9ad471ba2fdb1f90_0.kml?outSR=%7B%22latestWkid%22%3A2249%2C%22wkid%22%3A102686%7D' using driver `KML'
## Simple feature collection with 131 features and 2 fields
## geometry type:  POINT
## dimension:      XY
## bbox:           xmin: -71.17434 ymin: 42.2339 xmax: -71.00412 ymax: 42.39162
## geographic CRS: WGS 84

Get street data

Get street data for Boston, MA

opq(bbox = 'Boston MA USA') %>%
  add_osm_feature(key = 'highway') %>%
  osmdata_xml(file = 'OTP/graphs/default/boston_streets.osm')
MA_state_plane <- "+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +units=m +no_defs"

bos_street_features <- opq(bbox = 'Boston MA USA') %>%
  add_osm_feature(key = 'highway') %>%
  osmdata_sf()

bos_streets <- bos_street_features$osm_lines %>%
  st_transform(crs = MA_state_plane)

Plot Boston streets

ggplot(bos_streets) +
  geom_sf() +
  theme_map()

## Set up Open Trip Planner

path_otp <- otp_dl_jar("OTP")
path_data <- file.path(getwd(), "OTP")
path_otp <- paste(path_data, "otp.jar",sep = "/")

otp_build_graph(otp = path_otp, dir = path_data, memory = 1024) 
##   [1] "08:38:01.428 INFO (OTPServer.java:39) Wiring up and configuring server."                                                                                                                                                           
##   [2] "08:38:01.442 INFO (GraphBuilder.java:165) Wiring up and configuring graph builder task."                                                                                                                                           
##   [3] "08:38:01.447 INFO (GraphBuilder.java:171) Searching for graph builder input files in C:\\Users\\Kristy Henrich\\Documents\\GitHub\\kristy_henrich-vis\\OTP\\graphs\\default"                                                       
##   [4] "08:38:01.448 INFO (OTPMain.java:203) File 'C:\\Users\\Kristy Henrich\\Documents\\GitHub\\kristy_henrich-vis\\OTP\\graphs\\default\\build-config.json' is not present. Using default configuration."                                
##   [5] "08:38:01.595 INFO (OTPMain.java:203) File 'C:\\Users\\Kristy Henrich\\Documents\\GitHub\\kristy_henrich-vis\\OTP\\graphs\\default\\router-config.json' is not present. Using default configuration."                               
##   [6] "08:38:01.612 INFO (GraphBuilder.java:184) Summarizing GraphBuilderParameters"                                                                                                                                                      
##   [7] "htmlAnnotations = false"                                                                                                                                                                                                           
##   [8] "maxHtmlAnnotationsPerFile = 1000"                                                                                                                                                                                                  
##   [9] "transit = true"                                                                                                                                                                                                                    
##  [10] "useTransfersTxt = false"                                                                                                                                                                                                           
##  [11] "parentStopLinking = false"                                                                                                                                                                                                         
##  [12] "stationTransfers = false"                                                                                                                                                                                                          
##  [13] "stopClusterMode = proximity"                                                                                                                                                                                                       
##  [14] "subwayAccessTime = 2.0"                                                                                                                                                                                                            
##  [15] "streets = true"                                                                                                                                                                                                                    
##  [16] "embedRouterConfig = true"                                                                                                                                                                                                          
##  [17] "areaVisibility = false"                                                                                                                                                                                                            
##  [18] "platformEntriesLinking = false"                                                                                                                                                                                                    
##  [19] "matchBusRoutesToStreets = false"                                                                                                                                                                                                   
##  [20] "fetchElevationUS = false"                                                                                                                                                                                                          
##  [21] "elevationBucket = null"                                                                                                                                                                                                            
##  [22] "elevationUnitMultiplier = 1.0"                                                                                                                                                                                                     
##  [23] "fareServiceFactory = DefaultFareServiceFactory"                                                                                                                                                                                    
##  [24] "customNamer = null"                                                                                                                                                                                                                
##  [25] "wayPropertySet = org.opentripplanner.graph_builder.module.osm.DefaultWayPropertySetSource@3c09711b"                                                                                                                                
##  [26] "staticBikeRental = false"                                                                                                                                                                                                          
##  [27] "staticParkAndRide = true"                                                                                                                                                                                                          
##  [28] "staticBikeParkAndRide = false"                                                                                                                                                                                                     
##  [29] "maxInterlineDistance = 200"                                                                                                                                                                                                        
##  [30] "pruningThresholdIslandWithoutStops = 40"                                                                                                                                                                                           
##  [31] "pruningThresholdIslandWithStops = 5"                                                                                                                                                                                               
##  [32] "banDiscouragedWalking = false"                                                                                                                                                                                                     
##  [33] "banDiscouragedBiking = false"                                                                                                                                                                                                      
##  [34] "maxTransferDistance = 2000.0"                                                                                                                                                                                                      
##  [35] "extraEdgesStopPlatformLink = false"                                                                                                                                                                                                
##  [36] ""                                                                                                                                                                                                                                  
##  [37] "08:38:01.618 INFO (GraphBuilder.java:193) Found OSM file C:\\Users\\Kristy Henrich\\Documents\\GitHub\\kristy_henrich-vis\\OTP\\graphs\\default\\boston_streets.osm"                                                               
##  [38] "08:38:01.619 INFO (GraphBuilder.java:193) Found OSM file C:\\Users\\Kristy Henrich\\Documents\\GitHub\\kristy_henrich-vis\\OTP\\graphs\\default\\cambridge_streets.osm"                                                            
##  [39] "08:38:01.620 INFO (GraphBuilder.java:193) Found OSM file C:\\Users\\Kristy Henrich\\Documents\\GitHub\\kristy_henrich-vis\\OTP\\graphs\\default\\oakland_streets.osm"                                                              
##  [40] "08:38:01.723 INFO (OpenStreetMapModule.java:161) Gathering OSM from provider: AnyFileBasedOpenStreetMapProviderImpl(C:\\Users\\Kristy Henrich\\Documents\\GitHub\\kristy_henrich-vis\\OTP\\graphs\\default\\boston_streets.osm)"   
##  [41] "08:38:06.044 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [42] "08:38:06.044 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 44668869. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
##  [43] "08:38:06.173 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [44] "08:38:06.174 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 172094383. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [45] "08:38:06.330 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
##  [46] "08:38:06.330 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 411570029. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [47] "08:38:06.330 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
##  [48] "08:38:06.331 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 411570030. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [49] "08:38:06.331 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [50] "08:38:06.332 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 411570032. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [51] "08:38:06.332 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [52] "08:38:06.332 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 411570033. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [53] "08:38:06.435 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
##  [54] "08:38:06.436 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 485193865. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [55] "08:38:06.631 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [56] "08:38:06.632 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 731987527. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [57] "08:38:06.632 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [58] "08:38:06.632 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 731987529. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [59] "08:38:06.643 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
##  [60] "08:38:06.644 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 750567539. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
##  [61] "08:38:06.652 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
##  [62] "08:38:06.653 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 760884284. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
##  [63] "08:38:06.664 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [64] "08:38:06.665 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 785134065. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [65] "08:38:06.665 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [66] "08:38:06.665 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 785134067. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [67] "08:38:06.676 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
##  [68] "08:38:06.677 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583367. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [69] "08:38:06.677 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
##  [70] "08:38:06.677 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583368. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [71] "08:38:06.678 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
##  [72] "08:38:06.679 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583372. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [73] "08:38:06.679 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
##  [74] "08:38:06.679 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583373. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [75] "08:38:06.679 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
##  [76] "08:38:06.680 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583376. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [77] "08:38:06.680 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
##  [78] "08:38:06.681 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583377. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [79] "08:38:06.688 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;0, assumed to be ground-level."                                                                                                                 
##  [80] "08:38:06.688 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;0' at 813253049. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
##  [81] "08:38:06.691 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;2;3;4, assumed to be ground-level."                                                                                                             
##  [82] "08:38:06.691 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;2;3;4' at 813683127. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."         
##  [83] "08:38:06.698 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
##  [84] "08:38:06.699 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 815603022. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
##  [85] "08:38:06.701 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [86] "08:38:06.702 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 816227293. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [87] "08:38:06.703 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [88] "08:38:06.703 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 816227295. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [89] "08:38:06.744 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
##  [90] "08:38:06.744 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 818163468. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
##  [91] "08:38:06.745 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1;-2, assumed to be ground-level."                                                                                                             
##  [92] "08:38:06.745 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1;-2' at 818470225. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."         
##  [93] "08:38:06.745 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [94] "08:38:06.745 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 818470228. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [95] "08:38:06.747 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [96] "08:38:06.747 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 818582521. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [97] "08:38:06.747 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
##  [98] "08:38:06.747 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 818582522. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
##  [99] "08:38:06.748 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [100] "08:38:06.748 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 818614247. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [101] "08:38:06.750 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [102] "08:38:06.750 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 820034124. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [103] "08:38:06.759 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [104] "08:38:06.760 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 822774133. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [105] "08:38:06.760 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [106] "08:38:06.760 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 822774135. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [107] "08:38:06.762 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [108] "08:38:06.763 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 822899115. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [109] "08:38:06.763 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [110] "08:38:06.764 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 822899120. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [111] "08:38:06.772 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [112] "08:38:06.773 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 823996352. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [113] "08:38:06.774 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [114] "08:38:06.847 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 824020973. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [115] "08:38:06.849 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [116] "08:38:06.850 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 824020974. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [117] "08:38:06.852 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
## [118] "08:38:06.853 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 824020981. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [119] "08:38:06.855 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [120] "08:38:06.856 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 824207755. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [121] "08:38:06.859 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [122] "08:38:06.860 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 824367558. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [123] "08:38:06.863 WARN (OSMLevel.java:123) Could not determine floor number for layer -2;-1, assumed to be ground-level."                                                                                                               
## [124] "08:38:06.863 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-2;-1' at 824574307. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [125] "08:38:06.865 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [126] "08:38:06.866 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 824574310. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [127] "08:38:06.868 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [128] "08:38:06.870 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 824574312. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [129] "08:38:06.873 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
## [130] "08:38:06.874 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 824940349. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [131] "08:38:06.876 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [132] "08:38:06.877 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 825070911. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [133] "08:38:06.929 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [134] "08:38:06.929 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 833091381. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [135] "08:38:06.934 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [136] "08:38:06.934 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 833428564. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [137] "08:38:06.937 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [138] "08:38:06.937 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 833663421. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [139] "08:38:06.945 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [140] "08:38:06.945 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 835548597. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [141] "08:38:06.957 WARN (OSMLevel.java:123) Could not determine floor number for layer 6;7, assumed to be ground-level."                                                                                                                 
## [142] "08:38:06.958 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '6;7' at 837196075. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [143] "08:38:06.958 WARN (OSMLevel.java:123) Could not determine floor number for layer 6;7, assumed to be ground-level."                                                                                                                 
## [144] "08:38:06.958 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '6;7' at 837196079. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [145] "08:38:06.958 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1;2;3;4;5;6;7, assumed to be ground-level."                                                                                                     
## [146] "08:38:06.958 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1;2;3;4;5;6;7' at 837196086. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map." 
## [147] "08:38:06.959 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1;2;3;4;5;6, assumed to be ground-level."                                                                                                       
## [148] "08:38:06.959 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1;2;3;4;5;6' at 837256997. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [149] "08:38:06.960 WARN (OSMLevel.java:123) Could not determine floor number for layer 1lit=yes, assumed to be ground-level."                                                                                                            
## [150] "08:38:06.960 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1lit=yes' at 837276222. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."        
## [151] "08:38:06.962 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-2, assumed to be ground-level."                                                                                                                
## [152] "08:38:06.962 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-2' at 838051703. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [153] "08:38:06.963 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [154] "08:38:06.963 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 838297142. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [155] "08:38:06.963 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [156] "08:38:06.963 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 838297155. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [157] "08:38:06.964 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [158] "08:38:07.019 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 838338103. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [159] "08:38:07.025 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [160] "08:38:07.026 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 839522712. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [161] "08:38:07.036 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [162] "08:38:07.037 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 840634223. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [163] "08:38:07.037 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [164] "08:38:07.042 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 840634224. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [165] "08:38:07.043 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [166] "08:38:07.043 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 840634225. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [167] "08:38:07.043 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [168] "08:38:07.043 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 840634226. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [169] "08:38:07.048 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [170] "08:38:07.048 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 841066739. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [171] "08:38:07.048 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [172] "08:38:07.048 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 841066741. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [173] "08:38:07.058 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
## [174] "08:38:07.058 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 841958335. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [175] "08:38:07.059 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [176] "08:38:07.060 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 841958339. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [177] "08:38:07.060 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;2, assumed to be ground-level."                                                                                                                 
## [178] "08:38:07.060 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;2' at 841958341. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [179] "08:38:07.062 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [180] "08:38:07.063 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 842198668. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [181] "08:38:07.064 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [182] "08:38:07.065 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 842508165. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [183] "08:38:07.066 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;0, assumed to be ground-level."                                                                                                                 
## [184] "08:38:07.066 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;0' at 842508168. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [185] "08:38:07.066 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;2, assumed to be ground-level."                                                                                                                 
## [186] "08:38:07.066 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;2' at 842508169. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [187] "08:38:07.067 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [188] "08:38:07.069 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 842508170. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [189] "08:38:07.088 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [190] "08:38:07.089 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 843321114. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [191] "08:38:07.143 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [192] "08:38:07.143 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 846033915. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [193] "08:38:07.167 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [194] "08:38:07.167 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 846939321. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [195] "08:38:07.168 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [196] "08:38:07.168 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 846939333. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [197] "08:38:07.168 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [198] "08:38:07.169 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 847008064. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [199] "08:38:07.169 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [200] "08:38:07.169 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 847008070. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [201] "08:38:07.173 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [202] "08:38:07.174 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066327. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [203] "08:38:07.174 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [204] "08:38:07.175 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066328. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [205] "08:38:07.175 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [206] "08:38:07.175 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066330. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [207] "08:38:07.175 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [208] "08:38:07.175 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066331. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [209] "08:38:07.176 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [210] "08:38:07.176 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066332. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [211] "08:38:07.177 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [212] "08:38:07.177 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066339. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [213] "08:38:07.182 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;0, assumed to be ground-level."                                                                                                                 
## [214] "08:38:07.182 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;0' at 851676932. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [215] "08:38:07.184 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [216] "08:38:07.184 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 852208588. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [217] "08:38:07.224 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [218] "08:38:07.225 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 852208589. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [219] "08:38:07.230 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [220] "08:38:07.230 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 852529689. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [221] "08:38:07.232 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [222] "08:38:07.234 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 852529692. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [223] "08:38:07.238 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [224] "08:38:07.238 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 853562772. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [225] "08:38:07.241 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."                                                                                                                
## [226] "08:38:07.242 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 853562774. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [227] "08:38:07.245 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [228] "08:38:07.246 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094253. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [229] "08:38:07.248 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
## [230] "08:38:07.249 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 854094255. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [231] "08:38:07.252 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [232] "08:38:07.253 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094256. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [233] "08:38:07.255 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [234] "08:38:07.257 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094259. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [235] "08:38:07.258 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [236] "08:38:07.259 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094260. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [237] "08:38:07.261 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [238] "08:38:07.263 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094261. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [239] "08:38:07.265 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
## [240] "08:38:07.266 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 854094262. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [241] "08:38:07.269 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."                                                                                                                
## [242] "08:38:07.270 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 854094263. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [243] "08:38:07.273 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [244] "08:38:07.274 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094264. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [245] "08:38:07.276 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [246] "08:38:07.277 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094265. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [247] "08:38:20.492 WARN (OSMDatabase.java:647) Unexpected role  in multipolygon"                                                                                                                                                         
## [248] "08:38:20.493 WARN (OSMDatabase.java:647) Unexpected role  in multipolygon"                                                                                                                                                         
## [249] "08:38:20.493 WARN (OSMDatabase.java:647) Unexpected role  in multipolygon"                                                                                                                                                         
## [250] "08:38:20.493 WARN (OSMDatabase.java:647) Unexpected role  in multipolygon"                                                                                                                                                         
## [251] "08:38:20.493 WARN (OSMDatabase.java:647) Unexpected role  in multipolygon"                                                                                                                                                         
## [252] "08:38:20.493 WARN (OSMDatabase.java:647) Unexpected role  in multipolygon"                                                                                                                                                         
## [253] "08:38:20.644 INFO (OpenStreetMapModule.java:161) Gathering OSM from provider: AnyFileBasedOpenStreetMapProviderImpl(C:\\Users\\Kristy Henrich\\Documents\\GitHub\\kristy_henrich-vis\\OTP\\graphs\\default\\cambridge_streets.osm)"
## [254] "08:38:24.255 INFO (OpenStreetMapModule.java:161) Gathering OSM from provider: AnyFileBasedOpenStreetMapProviderImpl(C:\\Users\\Kristy Henrich\\Documents\\GitHub\\kristy_henrich-vis\\OTP\\graphs\\default\\oakland_streets.osm)"  
## [255] "08:38:26.736 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [256] "08:38:26.737 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501009530. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [257] "08:38:26.737 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [258] "08:38:26.737 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501009531. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [259] "08:38:26.737 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [260] "08:38:26.737 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501009532. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [261] "08:38:26.738 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [262] "08:38:26.738 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501017170. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [263] "08:38:26.738 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [264] "08:38:26.738 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501017172. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [265] "08:38:26.739 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [266] "08:38:26.739 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501017174. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [267] "08:38:26.739 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [268] "08:38:26.739 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501017176. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [269] "08:38:26.739 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [270] "08:38:26.739 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501017182. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [271] "08:38:26.739 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [272] "08:38:26.739 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501017183. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [273] "08:38:26.740 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [274] "08:38:26.740 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501017186. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [275] "08:38:26.740 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [276] "08:38:26.740 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501024428. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [277] "08:38:26.741 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [278] "08:38:26.741 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 501024429. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [279] "08:38:26.923 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [280] "08:38:26.924 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 599932964. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [281] "08:38:26.924 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [282] "08:38:26.924 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 599932965. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [283] "08:38:27.013 WARN (OSMLevel.java:123) Could not determine floor number for layer parking_aisle, assumed to be ground-level."                                                                                                       
## [284] "08:38:27.013 WARN (OSMDatabase.java:565) Could not infer floor number for layer called 'parking_aisle' at 693084466. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."   
## [285] "08:38:27.048 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."                                                                                                                 
## [286] "08:38:27.049 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 750624042. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [287] "08:38:27.064 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;-1, assumed to be ground-level."                                                                                                                
## [288] "08:38:27.064 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;-1' at 765677498. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [289] "08:38:27.064 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;-1, assumed to be ground-level."                                                                                                                
## [290] "08:38:27.064 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;-1' at 765677501. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [291] "08:38:27.065 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [292] "08:38:27.065 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 765677506. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [293] "08:38:27.065 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [294] "08:38:27.065 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 765677507. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [295] "08:38:27.065 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [296] "08:38:27.066 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 765677508. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [297] "08:38:27.066 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;-1, assumed to be ground-level."                                                                                                                
## [298] "08:38:27.066 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;-1' at 765677509. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [299] "08:38:27.066 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [300] "08:38:27.067 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 765677510. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [301] "08:38:27.067 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [302] "08:38:27.067 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 765677512. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [303] "08:38:27.067 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;-1, assumed to be ground-level."                                                                                                                
## [304] "08:38:27.067 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;-1' at 765677513. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [305] "08:38:27.068 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;-1, assumed to be ground-level."                                                                                                                
## [306] "08:38:27.068 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;-1' at 765677529. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [307] "08:38:27.069 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;-1, assumed to be ground-level."                                                                                                                
## [308] "08:38:27.084 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;-1' at 765677537. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [309] "08:38:27.093 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;-1, assumed to be ground-level."                                                                                                                
## [310] "08:38:27.093 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;-1' at 772406550. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [311] "08:38:27.093 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;-1, assumed to be ground-level."                                                                                                                
## [312] "08:38:27.093 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;-1' at 772406551. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [313] "08:38:27.094 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [314] "08:38:27.094 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 772406563. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [315] "08:38:27.096 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."                                                                                                               
## [316] "08:38:27.097 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 772406564. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."           
## [317] "08:38:27.100 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;-2, assumed to be ground-level."                                                                                                                
## [318] "08:38:27.101 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;-2' at 772406568. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [319] "08:38:27.102 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;-2, assumed to be ground-level."                                                                                                                
## [320] "08:38:27.103 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;-2' at 772406570. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."            
## [321] "08:38:27.193 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;2, assumed to be ground-level."                                                                                                                 
## [322] "08:38:27.194 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;2' at 824658980. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [323] "08:38:27.194 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;2, assumed to be ground-level."                                                                                                                 
## [324] "08:38:27.194 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;2' at 824658981. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."             
## [325] "08:38:29.120 INFO (OSMDatabase.java:315) Intersecting unconnected areas..."                                                                                                                                                        
## [326] "08:38:29.731 INFO (OSMDatabase.java:528) Created 0 virtual intersection nodes."                                                                                                                                                    
## [327] "08:38:29.737 INFO (OpenStreetMapModule.java:168) Building street graph from OSM"                                                                                                                                                   
## [328] "08:39:07.060 INFO (OpenStreetMapModule.java:393) Skipping visibility graph construction for walkable areas and using just area rings for edges."                                                                                   
## [329] "08:39:13.112 INFO (OpenStreetMapModule.java:424) Done building rings for walkable areas."                                                                                                                                          
## [330] "08:39:13.112 INFO (OpenStreetMapModule.java:431) Building P+R areas"                                                                                                                                                               
## [331] "08:39:13.112 INFO (OpenStreetMapModule.java:441) Created 0 P+R."                                                                                                                                                                   
## [332] "08:39:13.121 INFO (OpenStreetMapModule.java:946) graph-wide: Multiplying all bike safety values by 1.6666666"                                                                                                                      
## [333] "08:39:13.998 INFO (PruneFloatingIslands.java:60) Pruning isolated islands in street network"                                                                                                                                       
## [334] "08:39:15.065 INFO (StreetUtils.java:103) 639 sub graphs found"                                                                                                                                                                     
## [335] "08:39:15.263 INFO (StreetLinkerModule.java:46) Linking transit stops, bike rental stations, bike parking areas, and park-and-rides to graph . . ."                                                                                 
## [336] "08:39:18.100 INFO (Graph.java:963) Summary (number of each type of annotation):"                                                                                                                                                   
## [337] "08:39:18.104 INFO (Graph.java:969)     Graphwide - 1"                                                                                                                                                                              
## [338] "08:39:18.104 INFO (Graph.java:969)     GraphConnectivity - 634"                                                                                                                                                                    
## [339] "08:39:18.104 INFO (Graph.java:969)     LevelAmbiguous - 138"                                                                                                                                                                       
## [340] "08:39:18.157 INFO (Graph.java:814) Main graph size: |V|=183469 |E|=507486"                                                                                                                                                         
## [341] "08:39:18.157 INFO (Graph.java:815) Writing graph C:\\Users\\Kristy Henrich\\Documents\\GitHub\\kristy_henrich-vis\\OTP\\graphs\\default\\Graph.obj ..."                                                                            
## [342] "08:39:21.501 INFO (Graph.java:843) Graph written."                                                                                                                                                                                 
## [343] "08:39:21.502 INFO (GraphBuilder.java:153) Graph building took 1.3 minutes."
otp_setup(otp = path_otp, dir = path_data, memory =1024)
## 2020-10-04 08:39:22 OTP is loading and may take a while to be useable
## Router http://localhost:8080/otp/routers/default exists
## 2020-10-04 08:40:23 OTP is ready to use Go to localhost:8080 in your browser to view the OTP

Connect to opentripplanner

otpcon <- otp_connect()
## Router http://localhost:8080/otp/routers/default exists

Create isochrones

iso_5min_walk <- 
  otp_isochrone(otpcon = otpcon, fromPlace = BOS_schools, 
                mode = "WALK", cutoffSec = 300) %>%
  st_transform(crs = MA_state_plane) %>%
  mutate(mode = "walk")
## Warning in otp_isochrone(otpcon = otpcon, fromPlace =
## BOS_schools, mode = "WALK", : Failed to get isochrone
## with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7ffe"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7ffd"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7ff9"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7ff7"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7ff3"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fed"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fe8"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fe7"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fe1"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fe0"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fc0"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fbd"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fbb"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fb8"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fb7"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fb1"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fb0"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7faa"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7fa0"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7f9d"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7f88"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7f82"}]}
iso_5min_drive <- 
  otp_isochrone(otpcon = otpcon, fromPlace = BOS_schools, 
                mode = "CAR", cutoffSec = 300) %>%
  st_transform(crs = MA_state_plane) %>%
  mutate(mode = "drive")
## Warning in otp_isochrone(otpcon = otpcon, fromPlace =
## BOS_schools, mode = "CAR", : Failed to get isochrone
## with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7f76"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7f5d"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7f5c"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7f16"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7f15"}]}Failed to get
## isochrone with error: {"type":"FeatureCollection","features":
## [{"type":"Feature","geometry":null,"properties":{"time":
## 300},"id":"fid--6800442b_174f3a0a3e7_-7f09"}]}
iso_all_modes <- rbind(iso_5min_drive, iso_5min_walk)

otp_stop()
## [1] "SUCCESS: The process \"java.exe\" with PID 1924 has been terminated."
right_side <- st_bbox(iso_all_modes)$xmax
left_side  <- st_bbox(iso_all_modes)$xmin
top_side <- st_bbox(iso_all_modes)$ymax
bottom_side <- st_bbox(iso_all_modes)$ymin

ggplot(iso_all_modes) +
  annotation_map_tile(zoomin = 0, progress = "none") +
  geom_sf(aes(fill = mode), alpha = 0.5) +
  geom_sf(data = BOS_schools) +
  coord_sf(xlim = c(left_side, right_side), 
           ylim = c(bottom_side, top_side), expand = FALSE) +
  scale_fill_viridis_d(name = "Area that is reachable within 5 minutes",
                       labels = c("By car", "By foot")) +
  theme_map() +
  labs(caption = "Basemap Copyright OpenStreetMap contributors")
## Loading required namespace: raster

ggplot(iso_all_modes) +
  annotation_map_tile(zoomin = 0, type = "cartolight", progress = "none") +
  geom_sf(aes(fill = mode), alpha = 0.5) +
  geom_sf(data = BOS_schools) +
  coord_sf(xlim = c(left_side, right_side), 
           ylim = c(bottom_side, top_side), expand = FALSE) +
  scale_fill_viridis_d(name = "Area that is reachable within 5 minutes",
                       labels = c("By car", "By foot")) +
  theme_map() +
  labs(caption = "Basemap Copyright OpenStreetMap contributors")

ggplot(iso_all_modes) +
  annotation_map_tile(zoomin = 0, type = "stamenwatercolor", 
                      progress = "none") +
  geom_sf(aes(fill = mode), alpha = 0.5) +
  geom_sf(data = BOS_schools) +
  coord_sf(xlim = c(left_side, right_side), 
           ylim = c(bottom_side, top_side), expand = FALSE) +
  scale_fill_discrete(name = "Area that is reachable within 5 minutes",
                      labels = c("By car", "By foot"),
                      type = c("gray", "black")) +
  theme_map() +
  labs(caption = "Basemap Copyright OpenStreetMap contributors")

ggplot(iso_all_modes) +
  annotation_map_tile(zoomin = 0, type = "hotstyle", 
                      progress = "none") +
  geom_sf(aes(fill = mode), alpha = 0.5) +
  geom_sf(data = BOS_schools) +
  coord_sf(xlim = c(left_side, right_side), 
           ylim = c(bottom_side, top_side), expand = FALSE) +
  scale_fill_discrete(name = "Area that is reachable within 5 minutes",
                      labels = c("By car", "By foot"),
                      type = c("gray", "black")) +
  theme_map() +
  labs(caption = "Basemap Copyright OpenStreetMap contributors")

ggplot(iso_all_modes) +
  geom_sf(data = bos_streets, color = "gray") +
  geom_sf(aes(fill = mode), alpha = 0.5) +
  geom_sf(data = BOS_schools) +
  coord_sf(xlim = c(left_side, right_side), 
           ylim = c(bottom_side, top_side), expand = FALSE) +
  scale_fill_viridis_d(name = "Area that is reachable within 5 minutes",
                       labels = c("By car", "By foot")) +
  theme_map() 

## Calculate and control isochrone areas

When calculating isochrone areas, remove NULL data values

 iso_areas <- iso_all_modes %>%
   mutate(area = st_area(iso_all_modes)) %>%
   st_set_geometry(NULL) %>%
   pivot_wider(names_from = mode, values_from = area) 
## Warning: Values are not uniquely identified; output will contain list-cols.
## * Use `values_fn = list` to suppress this warning.
## * Use `values_fn = length` to identify where the duplicates arise
## * Use `values_fn = {summary_fun}` to summarise duplicates
iso_areas <- iso_areas %>% 
  filter(drive != "NULL", walk != "NULL") %>%
  filter(str_detect(drive,"c")==FALSE)
## Warning in stri_detect_regex(string, pattern, negate = negate, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
ggplot(iso_areas,
       aes(x = as.numeric(walk), y = as.numeric(drive))) +
  geom_point() +
  scale_x_continuous(name =
            "Area within a five-minute walking distance\nof a public school\n(square km)",
            breaks = breaks <- seq(10000, 300000, by = 20000),
            labels = breaks / 1000000) +
  scale_y_continuous(name =
            "Area within a five-minute driving distance\nof a public school\n(square km)",
            breaks = breaks <- seq(0, 2000000, by = 100000),
            labels = breaks / 1000000) +
  theme_bw()